package com.ruoyi.system.service.evaluationService.evaluationServiceImpl;

import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.evaluation.Location;
import com.ruoyi.system.domain.evaluation.Store;
import com.ruoyi.system.domain.evaluation.StoreLocation;
import com.ruoyi.system.mapper.evaluation.StoreMapper;
import com.ruoyi.system.service.evaluationService.StoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

@Service
public class StoreServiceImpl implements StoreService {
    @Autowired
    private StoreMapper storeMapper;
    @Override
    public List<Store> selectStoreByLocation_id(int location_id) {
        return storeMapper.selectStoreByLocation_id(location_id);
    }

    @Override
    public int insertStore(Store store) {
        return storeMapper.insertStore(store);
    }

    @Override
    public int updateScore(int id) {
        return storeMapper.updateScore(id);
    }

    @Override
    public List<Store> selectAllStore() {
        return storeMapper.selectAllStore();
    }

    @Override
    public List<StoreLocation> selectStoreLocation() {
        return storeMapper.selectStoreLocation();
    }

    @Override
    public List<StoreLocation> selectStoreByListId(String ids) {
        Long[] storeids = Convert.toLongArray(ids);
        List<StoreLocation> storeList = storeMapper.selectStoreByListId(storeids);
        return storeList;
    }

    @Override
    public int updateScoreAndCount() {
        return storeMapper.updateScoreAndCount();
    }

    @Override
    public Store selectStoreByStore_id(int store_id) {
        return storeMapper.selectStoreByStore_id(store_id);
    }

    @Override
    public int updateStore(Store store) {
        return storeMapper.updateStore(store);
    }

    @Override
    public int deleteStoreByID(int id) {
        return storeMapper.deleteStoreByID(id);
    }

    @Override
    public int deleteStore(String ids) {
        Long[] storeIds = Convert.toLongArray(ids);
        return storeMapper.deleteStore(storeIds);
    }

    @Override
    public List<StoreLocation> selectStoreList(String storeName, String location_id, String score) {
        String flag = storeName +location_id +score;
        List<StoreLocation> list =null;
        if (StringUtils.isEmpty(flag)){
          list = storeMapper.selectStoreLocation();
        }else if (StringUtils.isNotEmpty(storeName)){
          list = storeMapper.selectStoreByStoreName(storeName);
        }else if (StringUtils.isNotEmpty(location_id)){
            list = storeMapper.selectStoreByLocationId(location_id);
        }else if (StringUtils.isNotEmpty(score)){
            list = storeMapper.selectStoreByScore(score);
        }else{
            list = storeMapper.selectStoreLocation();
        }
        return list;
    }

}
